A Classification of Formal Specifications for Dynamic Software Architectures
نویسندگان
چکیده
Architectural change is defined as the addition and removal of components and connectors. Dynamic software architectures are those architectures that modify their architecture and enact the modifications during the system’s execution. This behavior is most commonly known as run-time evolution or dynamism. As dynamic software architecture use becomes more widespread, it is important to gain a better understanding of the foundations of this type of software evolutionary change and be able to classify formalisms, approaches and tools. Current evaluations in the areas of software architecture and evolutionary change have made strides in classification but are not sufficient to evaluate dynamic software architectures. A dedicated comparison of dynamic software architectures and architectural formalisms is necessary in order to gain a deeper understanding of run-time evolution. In this paper we present a set of classification criteria for the comparison of dynamic software architectures based on: change type, change process, and change infrastructure. We demonstrate the use of the criteria by classifying formal specifications of dynamic software architectures based on graphs, process algebras, logic, and other formalisms. Specifically, we survey and classify 14 formal specification approaches.
منابع مشابه
Organizing Definitions and Formalisms for Dynamic Software Architectures
Dynamic architectural change is defined as the addition and removal of components and connectors. Dynamic software architectures are those architectures that modify their architecture and enact the modifications during the system’s execution. This behavior is most commonly known as run-time evolution or dynamism. As dynamic software architecture use becomes more widespread, it is important to g...
متن کاملAgent Paradigm for Adaptable Architecture
Dynamic changes to an architecture is an active area of research within the software architecture community. Architectures must have the ability to react to events and perform architectural changes autonomously. In this paper, we focus on dynamic architectures reconfiguration. Our principle is to use the agent architectural concept to achieve this functionality with respect to some quality attr...
متن کاملSpecifications of Software Architectures using Diagrams of Constructions
Formal methods promise the ultimate quality of software artifacts with mathematical proof of their correctness. Algebraic specification is one of such methods, providing formal specifications of system components suitable for verification of correctness of all individual steps in the software development process, and hence of the entire development process and of the resulting program. In this ...
متن کاملTools for Producing Formal specifications: A view of Current Architectures and Future Directions
During the last decade, one important contribution towards requirements engineering has been the advent of formal specification languages. They offer a well-defined notation that can improve consistency and avoid ambiguity in specifications. However, the process of obtaining formal specifications that are consistent with the requirements is itself a difficult activity. Hence various researchers...
متن کاملFormal Specification of Mixed Components with Korrigan
Formal specifications are now widely accepted in software development. Recently, the need for a separation of concerns with reference to static and dynamic aspects appeared. Furthermore, in order to be able to design complex architectures and communication patterns, we need a structured approach which allows us to decompose a system into subparts and to recompose it from them. Finally, a notion...
متن کامل